﻿namespace HRM.CORE
{
    using APP.HELPER.Data.Helper;
    using Common.Class; using APP.HELPER.Utils.Language; using Security.Security; using Dictionary.ERP;
    using Dictionary.ERP;
    using System; using Extra.ERP;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Threading;

    public class HRM_TIMEKEEPER_SHIFT
    {
        private bool m_AllDay;
        private bool m_D1;
        private bool m_D10;
        private bool m_D11;
        private bool m_D12;
        private bool m_D13;
        private bool m_D14;
        private bool m_D15;
        private bool m_D16;
        private bool m_D17;
        private bool m_D18;
        private bool m_D19;
        private bool m_D2;
        private bool m_D20;
        private bool m_D21;
        private bool m_D22;
        private bool m_D23;
        private bool m_D24;
        private bool m_D25;
        private bool m_D26;
        private bool m_D27;
        private bool m_D28;
        private bool m_D29;
        private bool m_D3;
        private bool m_D30;
        private bool m_D31;
        private bool m_D4;
        private bool m_D5;
        private bool m_D6;
        private bool m_D7;
        private bool m_D8;
        private bool m_D9;
        private string m_EmployeeCode;
        private string m_ShiftCode;
        private Guid m_TimeKeeperTableListID;

        public HRM_TIMEKEEPER_SHIFT()
        {
            this.m_TimeKeeperTableListID = Guid.Empty;
            this.m_EmployeeCode = "";
            this.m_ShiftCode = "";
            this.m_AllDay = true;
            this.m_D1 = true;
            this.m_D2 = true;
            this.m_D3 = true;
            this.m_D4 = true;
            this.m_D5 = true;
            this.m_D6 = true;
            this.m_D7 = true;
            this.m_D8 = true;
            this.m_D9 = true;
            this.m_D10 = true;
            this.m_D11 = true;
            this.m_D12 = true;
            this.m_D13 = true;
            this.m_D14 = true;
            this.m_D15 = true;
            this.m_D16 = true;
            this.m_D17 = true;
            this.m_D18 = true;
            this.m_D19 = true;
            this.m_D20 = true;
            this.m_D21 = true;
            this.m_D22 = true;
            this.m_D23 = true;
            this.m_D24 = true;
            this.m_D25 = true;
            this.m_D26 = true;
            this.m_D27 = true;
            this.m_D28 = true;
            this.m_D29 = true;
            this.m_D30 = true;
            this.m_D31 = true;
        }

        public HRM_TIMEKEEPER_SHIFT(Guid TimeKeeperTableListID, string EmployeeCode, string ShiftCode, bool AllDay, bool D1, bool D2, bool D3, bool D4, bool D5, bool D6, bool D7, bool D8, bool D9, bool D10, bool D11, bool D12, bool D13, bool D14, bool D15, bool D16, bool D17, bool D18, bool D19, bool D20, bool D21, bool D22, bool D23, bool D24, bool D25, bool D26, bool D27, bool D28, bool D29, bool D30, bool D31)
        {
            this.m_TimeKeeperTableListID = TimeKeeperTableListID;
            this.m_EmployeeCode = EmployeeCode;
            this.m_ShiftCode = ShiftCode;
            this.m_AllDay = AllDay;
            this.m_D1 = D1;
            this.m_D2 = D2;
            this.m_D3 = D3;
            this.m_D4 = D4;
            this.m_D5 = D5;
            this.m_D6 = D6;
            this.m_D7 = D7;
            this.m_D8 = D8;
            this.m_D9 = D9;
            this.m_D10 = D10;
            this.m_D11 = D11;
            this.m_D12 = D12;
            this.m_D13 = D13;
            this.m_D14 = D14;
            this.m_D15 = D15;
            this.m_D16 = D16;
            this.m_D17 = D17;
            this.m_D18 = D18;
            this.m_D19 = D19;
            this.m_D20 = D20;
            this.m_D21 = D21;
            this.m_D22 = D22;
            this.m_D23 = D23;
            this.m_D24 = D24;
            this.m_D25 = D25;
            this.m_D26 = D26;
            this.m_D27 = D27;
            this.m_D28 = D28;
            this.m_D29 = D29;
            this.m_D30 = D30;
            this.m_D31 = D31;
        }

        public string Create(Guid TimeKeeperTableListID, string EmployeeCode)
        {
            string[] myParams = new string[] { "@TimeKeeperTableListID", "@EmployeeCode" };
            object[] myValues = new object[] { TimeKeeperTableListID, EmployeeCode };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery("HRM_TIMEKEEPER_SHIFT_Create1", myParams, myValues);
        }

        public string Create(int Level, string Code, Guid TimeKeeperTableListID)
        {
            HRM_TIMEKEEPER_TABLELIST hrm_timekeeper_tablelist = new HRM_TIMEKEEPER_TABLELIST();
            hrm_timekeeper_tablelist.GetByID(TimeKeeperTableListID);
            int year = hrm_timekeeper_tablelist.Year;
            int month = hrm_timekeeper_tablelist.Month;
            System.DateTime dayFirstMonth = new System.DateTime(year, month, 1);
            System.DateTime dayEndMonth = new System.DateTime(year, month, System.DateTime.DaysInMonth(year, month));
            HRM_EMPLOYEE hrm_employee = new HRM_EMPLOYEE();
            IEnumerator enumerator = hrm_employee.GetCompactList(Level, Code, 1, dayFirstMonth, dayEndMonth).Rows.GetEnumerator();
            {
                ThreadStart start = null;
                DataRow dr;
                while (enumerator.MoveNext())
                {
                    dr = (DataRow) enumerator.Current;
                    HRM_TIMEKEEPER_SHIFT hrm_timekeeper_shift = new HRM_TIMEKEEPER_SHIFT();
                    if (hrm_timekeeper_shift.GetListByEmployee(TimeKeeperTableListID, dr["EmployeeCode"].ToString()).Rows.Count <= 0)
                    {
                        Options.SetWaitDialogCaption("Đang khởi tạo..." + dr["FirstName"].ToString() + " " + dr["LastName"].ToString() + " (" + dr["EmployeeCode"].ToString() + ")");
                        if (start == null)
                        {
                            start = delegate {
                                this.Create(TimeKeeperTableListID, dr["EmployeeCode"].ToString());
                            };
                        }
                        Thread thread = new Thread(start);
                        thread.Start();
                        thread.Join();
                    }
                }
            }
            Options.HideDialog();
            return "OK";
        }

        public string CreateByShift(Guid TimeKeeperTableListID, int Month, int Year)
        {
            string[] myParams = new string[] { "@TimeKeeperTableListID", "@Month", "@Year" };
            object[] myValues = new object[] { TimeKeeperTableListID, Month, Year };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery("HRM_TIMEKEEPER_SHIFT_CreateByShift", myParams, myValues);
        }

        public DataTable CreateNullDataTable()
        {
            SqlHelper helper = new SqlHelper();
            DataTable table = new DataTable();
            DataColumn column = new DataColumn("TimeKeeperTableListID");
            DataColumn column2 = new DataColumn("EmployeeCode");
            DataColumn column3 = new DataColumn("FirstName");
            DataColumn column4 = new DataColumn("LastName");
            DataColumn column5 = new DataColumn("ShiftCode");
            DataColumn column6 = new DataColumn("AllDay");
            DataColumn column7 = new DataColumn("D1");
            DataColumn column8 = new DataColumn("D2");
            DataColumn column9 = new DataColumn("D3");
            DataColumn column10 = new DataColumn("D4");
            DataColumn column11 = new DataColumn("D5");
            DataColumn column12 = new DataColumn("D6");
            DataColumn column13 = new DataColumn("D7");
            DataColumn column14 = new DataColumn("D8");
            DataColumn column15 = new DataColumn("D9");
            DataColumn column16 = new DataColumn("D10");
            DataColumn column17 = new DataColumn("D11");
            DataColumn column18 = new DataColumn("D12");
            DataColumn column19 = new DataColumn("D13");
            DataColumn column20 = new DataColumn("D14");
            DataColumn column21 = new DataColumn("D15");
            DataColumn column22 = new DataColumn("D16");
            DataColumn column23 = new DataColumn("D17");
            DataColumn column24 = new DataColumn("D18");
            DataColumn column25 = new DataColumn("D19");
            DataColumn column26 = new DataColumn("D20");
            DataColumn column27 = new DataColumn("D21");
            DataColumn column28 = new DataColumn("D22");
            DataColumn column29 = new DataColumn("D23");
            DataColumn column30 = new DataColumn("D24");
            DataColumn column31 = new DataColumn("D25");
            DataColumn column32 = new DataColumn("D26");
            DataColumn column33 = new DataColumn("D27");
            DataColumn column34 = new DataColumn("D28");
            DataColumn column35 = new DataColumn("D29");
            DataColumn column36 = new DataColumn("D30");
            DataColumn column37 = new DataColumn("D31");
            table.Columns.Add(column);
            table.Columns.Add(column2);
            table.Columns.Add(column3);
            table.Columns.Add(column4);
            table.Columns.Add(column5);
            table.Columns.Add(column6);
            table.Columns.Add(column7);
            table.Columns.Add(column8);
            table.Columns.Add(column9);
            table.Columns.Add(column10);
            table.Columns.Add(column11);
            table.Columns.Add(column12);
            table.Columns.Add(column13);
            table.Columns.Add(column14);
            table.Columns.Add(column15);
            table.Columns.Add(column16);
            table.Columns.Add(column17);
            table.Columns.Add(column18);
            table.Columns.Add(column19);
            table.Columns.Add(column20);
            table.Columns.Add(column21);
            table.Columns.Add(column22);
            table.Columns.Add(column23);
            table.Columns.Add(column24);
            table.Columns.Add(column25);
            table.Columns.Add(column26);
            table.Columns.Add(column27);
            table.Columns.Add(column28);
            table.Columns.Add(column29);
            table.Columns.Add(column30);
            table.Columns.Add(column31);
            table.Columns.Add(column32);
            table.Columns.Add(column33);
            table.Columns.Add(column34);
            table.Columns.Add(column35);
            table.Columns.Add(column36);
            table.Columns.Add(column37);
            table.Clear();
            return table;
        }

        public DataTable CreateNullEmployeesDataTable()
        {
            DataTable table = new DataTable();
            DataColumn column = new DataColumn("EmployeeCode");
            DataColumn column2 = new DataColumn("FirstName");
            DataColumn column3 = new DataColumn("LastName");
            table.Columns.Add(column);
            table.Columns.Add(column2);
            table.Columns.Add(column3);
            table.Clear();
            return table;
        }

        public bool Exist(Guid TimeKeeperTableListID)
        {
            bool hasRows = false;
            string[] myParams = new string[] { "@TimeKeeperTableListID" };
            object[] myValues = new object[] { TimeKeeperTableListID };
            SqlHelper helper = new SqlHelper();
            SqlDataReader reader = helper.ExecuteReader("HRM_TIMEKEEPER_SHIFT_Get", myParams, myValues);
            if (reader != null)
            {
                hasRows = reader.HasRows;
                reader.Close();
                helper.Close();
                reader = null;
            }
            return hasRows;
        }

        public DataTable GetList(int Level, string Code, Guid TimeKeeperTableListID)
        {
            string[] myParams = new string[] { "@Level", "@Code", "@TimeKeeperTableListID" };
            object[] myValues = new object[] { Level, Code, TimeKeeperTableListID };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteDataTable("HRM_TIMEKEEPER_SHIFT_GetList", myParams, myValues);
        }

        public DataTable GetList(int Level, string Code, Guid TimeKeeperTableListID, bool IsPrintNotNull, bool IsOnlyNightDay)
        {
            DataTable table = this.GetList(Level, Code, TimeKeeperTableListID);
            for (int i = 0; i < table.Rows.Count; i++)
            {
                if (IsPrintNotNull && !((((((bool.Parse(table.Rows[i]["D1"].ToString()) || bool.Parse(table.Rows[i]["D2"].ToString())) || (bool.Parse(table.Rows[i]["D3"].ToString()) || bool.Parse(table.Rows[i]["D4"].ToString()))) || ((bool.Parse(table.Rows[i]["D5"].ToString()) || bool.Parse(table.Rows[i]["D6"].ToString())) || (bool.Parse(table.Rows[i]["D7"].ToString()) || bool.Parse(table.Rows[i]["D8"].ToString())))) || (((bool.Parse(table.Rows[i]["D9"].ToString()) || bool.Parse(table.Rows[i]["D10"].ToString())) || (bool.Parse(table.Rows[i]["D11"].ToString()) || bool.Parse(table.Rows[i]["D12"].ToString()))) || ((bool.Parse(table.Rows[i]["D13"].ToString()) || bool.Parse(table.Rows[i]["D14"].ToString())) || (bool.Parse(table.Rows[i]["D15"].ToString()) || bool.Parse(table.Rows[i]["D16"].ToString()))))) || ((((bool.Parse(table.Rows[i]["D17"].ToString()) || bool.Parse(table.Rows[i]["D18"].ToString())) || (bool.Parse(table.Rows[i]["D19"].ToString()) || bool.Parse(table.Rows[i]["D20"].ToString()))) || ((bool.Parse(table.Rows[i]["D21"].ToString()) || bool.Parse(table.Rows[i]["D22"].ToString())) || (bool.Parse(table.Rows[i]["D23"].ToString()) || bool.Parse(table.Rows[i]["D24"].ToString())))) || (((bool.Parse(table.Rows[i]["D25"].ToString()) || bool.Parse(table.Rows[i]["D26"].ToString())) || (bool.Parse(table.Rows[i]["D27"].ToString()) || bool.Parse(table.Rows[i]["D28"].ToString()))) || (bool.Parse(table.Rows[i]["D29"].ToString()) || bool.Parse(table.Rows[i]["D30"].ToString()))))) || bool.Parse(table.Rows[i]["D31"].ToString())))
                {
                    table.Rows.RemoveAt(i);
                    i--;
                }
                if (IsOnlyNightDay)
                {
                    try
                    {
                        string shiftCode = table.Rows[i]["ShiftCode"].ToString();
                        DIC_SHIFT dic_shift = new DIC_SHIFT();
                        dic_shift.Get(shiftCode);
                        if (!dic_shift.IsNightDutyDay)
                        {
                            table.Rows.RemoveAt(i);
                            i--;
                        }
                    }
                    catch
                    {
                    }
                }
            }
            return table;
        }

        public DataTable GetListByEmployee(Guid TimeKeeperTableListID, string EmployeeCode)
        {
            string[] myParams = new string[] { "@TimeKeeperTableListID", "@EmployeeCode" };
            object[] myValues = new object[] { TimeKeeperTableListID, EmployeeCode };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteDataTable("HRM_TIMEKEEPER_SHIFT_GetListByEmployee", myParams, myValues);
        }

        public DataTable GetListByEmployee(Guid TimeKeeperTableListID, string EmployeeCode, bool IsPrintNotNull)
        {
            DataTable listByEmployee = this.GetListByEmployee(TimeKeeperTableListID, EmployeeCode);
            for (int i = 0; i < listByEmployee.Rows.Count; i++)
            {
                if (IsPrintNotNull && !((((((bool.Parse(listByEmployee.Rows[i]["D1"].ToString()) || bool.Parse(listByEmployee.Rows[i]["D2"].ToString())) || (bool.Parse(listByEmployee.Rows[i]["D3"].ToString()) || bool.Parse(listByEmployee.Rows[i]["D4"].ToString()))) || ((bool.Parse(listByEmployee.Rows[i]["D5"].ToString()) || bool.Parse(listByEmployee.Rows[i]["D6"].ToString())) || (bool.Parse(listByEmployee.Rows[i]["D7"].ToString()) || bool.Parse(listByEmployee.Rows[i]["D8"].ToString())))) || (((bool.Parse(listByEmployee.Rows[i]["D9"].ToString()) || bool.Parse(listByEmployee.Rows[i]["D10"].ToString())) || (bool.Parse(listByEmployee.Rows[i]["D11"].ToString()) || bool.Parse(listByEmployee.Rows[i]["D12"].ToString()))) || ((bool.Parse(listByEmployee.Rows[i]["D13"].ToString()) || bool.Parse(listByEmployee.Rows[i]["D14"].ToString())) || (bool.Parse(listByEmployee.Rows[i]["D15"].ToString()) || bool.Parse(listByEmployee.Rows[i]["D16"].ToString()))))) || ((((bool.Parse(listByEmployee.Rows[i]["D17"].ToString()) || bool.Parse(listByEmployee.Rows[i]["D18"].ToString())) || (bool.Parse(listByEmployee.Rows[i]["D19"].ToString()) || bool.Parse(listByEmployee.Rows[i]["D20"].ToString()))) || ((bool.Parse(listByEmployee.Rows[i]["D21"].ToString()) || bool.Parse(listByEmployee.Rows[i]["D22"].ToString())) || (bool.Parse(listByEmployee.Rows[i]["D23"].ToString()) || bool.Parse(listByEmployee.Rows[i]["D24"].ToString())))) || (((bool.Parse(listByEmployee.Rows[i]["D25"].ToString()) || bool.Parse(listByEmployee.Rows[i]["D26"].ToString())) || (bool.Parse(listByEmployee.Rows[i]["D27"].ToString()) || bool.Parse(listByEmployee.Rows[i]["D28"].ToString()))) || (bool.Parse(listByEmployee.Rows[i]["D29"].ToString()) || bool.Parse(listByEmployee.Rows[i]["D30"].ToString()))))) || bool.Parse(listByEmployee.Rows[i]["D31"].ToString())))
                {
                    listByEmployee.Rows.RemoveAt(i);
                    i--;
                }
            }
            return listByEmployee;
        }

        public static bool IsWork(Guid TimeKeeperTableListID, string EmployeeCode, string ShiftCode, int Day)
        {
            bool flag = false;
            string[] myParams = new string[] { "@TimeKeeperTableListID", "@EmployeeCode", "@ShiftCode", "@Day" };
            object[] myValues = new object[] { TimeKeeperTableListID, EmployeeCode, ShiftCode, Day };
            SqlHelper helper = new SqlHelper();
            SqlDataReader reader = helper.ExecuteReader("HRM_TIMEKEEPER_SHIFT_IsWork", myParams, myValues);
            if (reader != null)
            {
                while (reader.Read())
                {
                    flag = Convert.ToBoolean(reader["IsWork"]);
                }
                reader.Close();
                helper.Close();
                reader = null;
            }
            return flag;
        }

        public static double TotalHour(Guid TimeKeeperTableListID, string EmployeeCode)
        {
            double num = 0.0;
            string[] myParams = new string[] { "@TimeKeeperTableListID", "@EmployeeCode" };
            object[] myValues = new object[] { TimeKeeperTableListID, EmployeeCode };
            SqlHelper helper = new SqlHelper();
            SqlDataReader reader = helper.ExecuteReader("HRM_TIMEKEEPER_SHIFT_TotalHour", myParams, myValues);
            if (reader != null)
            {
                while (reader.Read())
                {
                    num = Convert.ToDouble(reader["TotalHour"]);
                }
                reader.Close();
                helper.Close();
                reader = null;
            }
            return num;
        }

        public string Update(Guid TimeKeeperTableListID, string EmployeeCode, string ShiftCode, bool AllDay, bool D1, bool D2, bool D3, bool D4, bool D5, bool D6, bool D7, bool D8, bool D9, bool D10, bool D11, bool D12, bool D13, bool D14, bool D15, bool D16, bool D17, bool D18, bool D19, bool D20, bool D21, bool D22, bool D23, bool D24, bool D25, bool D26, bool D27, bool D28, bool D29, bool D30, bool D31)
        {
            string[] myParams = new string[] { 
                "@TimeKeeperTableListID", "@EmployeeCode", "@ShiftCode", "@AllDay", "@D1", "@D2", "@D3", "@D4", "@D5", "@D6", "@D7", "@D8", "@D9", "@D10", "@D11", "@D12", 
                "@D13", "@D14", "@D15", "@D16", "@D17", "@D18", "@D19", "@D20", "@D21", "@D22", "@D23", "@D24", "@D25", "@D26", "@D27", "@D28", 
                "@D29", "@D30", "@D31"
             };
            object[] myValues = new object[] { 
                TimeKeeperTableListID, EmployeeCode, ShiftCode, AllDay, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, 
                D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, 
                D29, D30, D31
             };
            SqlHelper helper = new SqlHelper();
            return helper.ExecuteNonQuery("HRM_TIMEKEEPER_SHIFT_Update", myParams, myValues);
        }

        [Category("Column"), DisplayName("AllDay")]
        public bool AllDay
        {
            get
            {
                return this.m_AllDay;
            }
            set
            {
                this.m_AllDay = value;
            }
        }

        public string AssemblyVersion
        {
            get
            {
                return "2.5.0.0";
            }
        }

        public string Copyright
        {
            get
            {
                return "C\x00f4ng Ty Phần Mềm Ho\x00e0n Hảo";
            }
        }

        [DisplayName("D1"), Category("Column")]
        public bool D1
        {
            get
            {
                return this.m_D1;
            }
            set
            {
                this.m_D1 = value;
            }
        }

        [Category("Column"), DisplayName("D10")]
        public bool D10
        {
            get
            {
                return this.m_D10;
            }
            set
            {
                this.m_D10 = value;
            }
        }

        [Category("Column"), DisplayName("D11")]
        public bool D11
        {
            get
            {
                return this.m_D11;
            }
            set
            {
                this.m_D11 = value;
            }
        }

        [Category("Column"), DisplayName("D12")]
        public bool D12
        {
            get
            {
                return this.m_D12;
            }
            set
            {
                this.m_D12 = value;
            }
        }

        [Category("Column"), DisplayName("D13")]
        public bool D13
        {
            get
            {
                return this.m_D13;
            }
            set
            {
                this.m_D13 = value;
            }
        }

        [Category("Column"), DisplayName("D14")]
        public bool D14
        {
            get
            {
                return this.m_D14;
            }
            set
            {
                this.m_D14 = value;
            }
        }

        [DisplayName("D15"), Category("Column")]
        public bool D15
        {
            get
            {
                return this.m_D15;
            }
            set
            {
                this.m_D15 = value;
            }
        }

        [Category("Column"), DisplayName("D16")]
        public bool D16
        {
            get
            {
                return this.m_D16;
            }
            set
            {
                this.m_D16 = value;
            }
        }

        [Category("Column"), DisplayName("D17")]
        public bool D17
        {
            get
            {
                return this.m_D17;
            }
            set
            {
                this.m_D17 = value;
            }
        }

        [DisplayName("D18"), Category("Column")]
        public bool D18
        {
            get
            {
                return this.m_D18;
            }
            set
            {
                this.m_D18 = value;
            }
        }

        [Category("Column"), DisplayName("D19")]
        public bool D19
        {
            get
            {
                return this.m_D19;
            }
            set
            {
                this.m_D19 = value;
            }
        }

        [DisplayName("D2"), Category("Column")]
        public bool D2
        {
            get
            {
                return this.m_D2;
            }
            set
            {
                this.m_D2 = value;
            }
        }

        [Category("Column"), DisplayName("D20")]
        public bool D20
        {
            get
            {
                return this.m_D20;
            }
            set
            {
                this.m_D20 = value;
            }
        }

        [Category("Column"), DisplayName("D21")]
        public bool D21
        {
            get
            {
                return this.m_D21;
            }
            set
            {
                this.m_D21 = value;
            }
        }

        [DisplayName("D22"), Category("Column")]
        public bool D22
        {
            get
            {
                return this.m_D22;
            }
            set
            {
                this.m_D22 = value;
            }
        }

        [DisplayName("D23"), Category("Column")]
        public bool D23
        {
            get
            {
                return this.m_D23;
            }
            set
            {
                this.m_D23 = value;
            }
        }

        [DisplayName("D24"), Category("Column")]
        public bool D24
        {
            get
            {
                return this.m_D24;
            }
            set
            {
                this.m_D24 = value;
            }
        }

        [Category("Column"), DisplayName("D25")]
        public bool D25
        {
            get
            {
                return this.m_D25;
            }
            set
            {
                this.m_D25 = value;
            }
        }

        [DisplayName("D26"), Category("Column")]
        public bool D26
        {
            get
            {
                return this.m_D26;
            }
            set
            {
                this.m_D26 = value;
            }
        }

        [Category("Column"), DisplayName("D27")]
        public bool D27
        {
            get
            {
                return this.m_D27;
            }
            set
            {
                this.m_D27 = value;
            }
        }

        [DisplayName("D28"), Category("Column")]
        public bool D28
        {
            get
            {
                return this.m_D28;
            }
            set
            {
                this.m_D28 = value;
            }
        }

        [Category("Column"), DisplayName("D29")]
        public bool D29
        {
            get
            {
                return this.m_D29;
            }
            set
            {
                this.m_D29 = value;
            }
        }

        [Category("Column"), DisplayName("D3")]
        public bool D3
        {
            get
            {
                return this.m_D3;
            }
            set
            {
                this.m_D3 = value;
            }
        }

        [DisplayName("D30"), Category("Column")]
        public bool D30
        {
            get
            {
                return this.m_D30;
            }
            set
            {
                this.m_D30 = value;
            }
        }

        [Category("Column"), DisplayName("D31")]
        public bool D31
        {
            get
            {
                return this.m_D31;
            }
            set
            {
                this.m_D31 = value;
            }
        }

        [Category("Column"), DisplayName("D4")]
        public bool D4
        {
            get
            {
                return this.m_D4;
            }
            set
            {
                this.m_D4 = value;
            }
        }

        [Category("Column"), DisplayName("D5")]
        public bool D5
        {
            get
            {
                return this.m_D5;
            }
            set
            {
                this.m_D5 = value;
            }
        }

        [DisplayName("D6"), Category("Column")]
        public bool D6
        {
            get
            {
                return this.m_D6;
            }
            set
            {
                this.m_D6 = value;
            }
        }

        [DisplayName("D7"), Category("Column")]
        public bool D7
        {
            get
            {
                return this.m_D7;
            }
            set
            {
                this.m_D7 = value;
            }
        }

        [Category("Column"), DisplayName("D8")]
        public bool D8
        {
            get
            {
                return this.m_D8;
            }
            set
            {
                this.m_D8 = value;
            }
        }

        [DisplayName("D9"), Category("Column")]
        public bool D9
        {
            get
            {
                return this.m_D9;
            }
            set
            {
                this.m_D9 = value;
            }
        }

        [Category("Primary Key"), DisplayName("EmployeeCode")]
        public string EmployeeCode
        {
            get
            {
                return this.m_EmployeeCode;
            }
            set
            {
                this.m_EmployeeCode = value;
            }
        }

        public string Product
        {
            get
            {
                return "Class HRM_TIMEKEEPER_SHIFT";
            }
        }

        [DisplayName("ShiftCode"), Category("Primary Key")]
        public string ShiftCode
        {
            get
            {
                return this.m_ShiftCode;
            }
            set
            {
                this.m_ShiftCode = value;
            }
        }

        [DisplayName("TimeKeeperTableListID"), Category("Primary Key")]
        public Guid TimeKeeperTableListID
        {
            get
            {
                return this.m_TimeKeeperTableListID;
            }
            set
            {
                this.m_TimeKeeperTableListID = value;
            }
        }
    }
}

